<?php
session_cache_limiter("nocache");
//session_start();
require_once('../utilidades/ConexionBD.php');

class SeguridadLogEvento {
    
    //--- Atributos
    private $id;
    private $fechaGrab;
    private $usuarioGrab;
    private $host;
    private $evento;
    private $detalle;
    
    //--- constructor
    function __construct(){}    
    
    //--- Metodos        
    public function selectAll(){
        //---  cargo la informacion desde la BD
        $consulta="select * from \"FuncSeguridadLogEventos\"('selectAll',NULL,NULL,NULL,NULL,NULL,NULL,NULL);";
        @$res= pg_query(ConexionBD::get()->conectarse(),$consulta);
        //--- veo si se presento algun error
        if(!$res) {
            echo str_replace("ERROR:","",pg_last_error(ConexionBD::get()->conectarse()));                
            return null;
        }
        
        //--- debo armar una lista de objetos        
        $list = array();
        while($row = pg_fetch_array($res)) {
            $p=new SeguridadLogEvento();
            $p->id          =$row["@id"];
            $p->fechaGrab   =$row["@fechaGrab"];
            $p->usuarioGrab =$row["@usuarioGrab"];
            $p->host        =$row["@host"];
            $p->evento      =$row["@evento"];
            $p->detalle     =$row["@detalle"]; 
            $list[] = $p;
        }
        //-- Cierro la conexion
        ConexionBD::get()->desconectarse();        
        
        //-- retorno la lista de objetos
        return $list;        
    }
    
    public function insert($evento,$detalle){
        //---  cargo la informacion desde la BD
        $consulta="select * from \"FuncSeguridadLogEventos\"('insert',NULL,NULL,NULL,'ADMIN_XXX','HOST ????','".$evento."','".$detalle."');";
        //--- Obtengo los datos de postgres
        @$res= pg_query(ConexionBD::get()->conectarse(),$consulta);
        //--- veo si se presento algun error
        if(!$res) {
            return json_encode(array("ERROR"=>str_replace("ERROR:","",pg_last_error(ConexionBD::get()->conectarse()))));                
        }
        ConexionBD::get()->desconectarse();        
        //--- debo retornar el id que se genero al hacer la insercion
        while($row = pg_fetch_array($res)) {
            return json_encode(array("id"=>$row["@id"]));
        }
        //-- retorno sino devolvio un id, retorno cero para que no se generen erroes en la vista
        return json_encode(array("id"=>"0"));
    }

    public function getId() {
        return $this->id;
    }

    public function setId($id) {
        $this->id = $id;
    }

    public function getFechaGrab() {
        return $this->fechaGrab;
    }

    public function setFechaGrab($fechaGrab) {
        $this->fechaGrab = $fechaGrab;
    }

    public function getUsuarioGrab() {
        return $this->usuarioGrab;
    }

    public function setUsuarioGrab($usuarioGrab) {
        $this->usuarioGrab = $usuarioGrab;
    }

    public function getHost() {
        return $this->host;
    }

    public function setHost($host) {
        $this->host = $host;
    }

    public function getEvento() {
        return $this->evento;
    }

    public function setEvento($evento) {
        $this->evento = $evento;
    }

    public function getDetalle() {
        return $this->detalle;
    }

    public function setDetalle($detalle) {
        $this->detalle = $detalle;
    }
}

?>
